package com.probox.common.entity.service.customer;

import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.common.entity.domain.customer.CustomerLabel;
import com.probox.common.entity.domain.product.vo.OptionsSelect;

import java.util.List;

public interface ICustomerLabelService extends IService<CustomerLabel> {

    public CustomerLabel selectCustomerLabelById(Long labelId);

    /**
     * 查询客户标签列表
     *
     * @param customerLabel 客户标签
     * @return 客户标签
     */
    public List<CustomerLabel> queryList(CustomerLabel customerLabel);


    public Integer selectCategoryCount(CustomerLabel customerLabel);

    /**
     * 新增客户标签
     *
     * @param customerLabel 客户标签
     * @return 结果
     */
    public boolean insertProductCategory(CustomerLabel customerLabel);

    /**
     * 修改客户标签
     *
     * @param customerLabel 客户标签
     * @return 结果
     */
    public boolean updateProductCategory(CustomerLabel customerLabel);

    /**
     * 批量删除客户标签
     *
     * @param categoryUids 需要删除的客户标签ID
     * @return 结果
     */
    public boolean deleteProductCategoryByIds(Long[] categoryUids);

    /**
     * 修改客户标签状态
     *
     * @param customerLabel 客户标签
     * @return 结果
     */
    public boolean updateCategoryStatus(CustomerLabel customerLabel);

    /**
     * 查询该等级的类别
     *
     * @param depth 等级
     * @return
     */
    public List<CustomerLabel> getCategoryDepthList(String depth, Long uid);

    public List<CustomerLabel> getCategoryOne(String depth, Long uid);

    /**
     * 查询类别重名
     *
     * @param category
     * @return
     */
    public Integer queryCategoryName(CustomerLabel category);

    /**
     * 获取分类的级联
     *
     * @return
     */
    public List<OptionsSelect> selectOptionList();
}
